/**
 * @PROJECT_NAME: design_patterns
 * @DESCRIPTION: 装饰者模式：Decorator Pattern
 * 定义：指在不改变现有对象结构的情况下，动态地给该对象增加一些职责（即增加其额外功能）的模式。如：
 * 牛肉拉面馆点餐：有8块的拉面、有10块炒饭，在此基础上可以加鸡蛋1元、加牛肉8元等配菜，每个配菜的价格不同，此种情况下计算总价。
 * <p>
 * 结构：
 * <p>
 * 抽象构件（Component）角色：定义一个抽象接口以规范准备接收附加责任的对象
 * <p>
 * 具体构件（Concrete Component）角色：实现抽象构件，通过装饰角色为其添加一些职责。
 * <p>
 * 抽象装饰（Decorator）角色：继承或实现抽象构件，并包含具体构件的实例，可以通过其子类扩展具体构件的功能。
 * <p>
 * 具体装饰（Concrete Decorator）角色：实现抽象装饰的相关方法，并给具体构件对象添加附加的职责。
 * @AUTHOR: CNBruceLee
 * @DATE: 2021/7/25 20:25
 */
package com.bruce.demo2.patterns.demo2.structural.demo08.decorator;
